﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Media;

namespace Kokomo.Environment.Services
{
	/// <summary>
	/// Provides images.
	/// </summary>
	/// <remarks>
	/// The environment provides a default implementation for standard images,
	/// using the keys specified by <see cref="StandardImageKeys"/>.
	/// The default instance can be retrieved via <see cref="EnvironmentServices"/>.
	/// </remarks>
	/// <see cref="Hosting.Services.ImageManager"/>
	public interface IImageProvider
	{
		/// <summary>
		/// Gets the image with the specified key.
		/// </summary>
		/// <param name="key">The key identifying the image.</param>
		/// <returns>The requested image, if available; otherwise, <c>null</c>.</returns>
		/// <exception cref="ArgumentNullException"><paramref name="key"/> is <c>null</c>.</exception>
		ImageSource GetImage(string key);
	}
}
